The general structure and use of databases are known. Databases typically allow a large amount of relational data to be stored, modified, updated, and retrieved in an efficient manner. The relationship of data placed into a database may be done as a two-dimensional relationship, i.e., rows and columns, three-dimensional relationship, i.e., rows, columns, and depth, four-dimensional relationships, and beyond. In a two-dimensional database, the columns typically represent data fields, while the rows represent data content. For example, if a company uses a two-dimensional database to store employee information, the data fields may include employee name, employee number, department number, phone, payroll information, security access levels, etc., while the data content of the rows includes the relevant information of a given employee.
To protect data stored within a database, access to the database is limited. The limited access may be achieved by physical limitations, i.e., the database is stored on a computer that is physically not available to unauthorized personnel. The physical isolation of a database may be achieved by having the computer stored in a controlled access environment. Alternatively, the database may be protected by passwords, and/or encrypted using a master symmetric key.
While each of these methods controls access to a database, the security and limited access are not optimal. For example, the master symmetric key technique secures each data element of the database based on a master symmetric key, but the master symmetric key is a clear text key such that if by unauthorized personnel obtained it, the unauthorized personnel could access the database. As such, any one having access to the symmetric key can access the database
Having the computer that supports the database in a physically isolated environment is inconsistent with today's demands for data availability to a wide group of users. For example, many companies have facilities located throughout the world, wherein each facility requires access to certain pieces of information that may be stored within a database. Thus, if the database were contained in a physically isolated area, the remote sites would have no access to the information except to create their own. Once multiple copies of the same data are created, it is difficult to keep all copies current.
Therefore, a need exists for a method and apparatus that secures a database without the limitations of existing techniques.